package jp.co.toshiba.ffsa.entity;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ワークフロー
 * @author npc
 */
@Entity
@Table(name="workflow")
public class Workflow {
    /** プロジェクトID */
    @Id
    @Column(name="project_id")
    public String projectId;

    /** ワークフローID */
    @Id
    @Column(name="workflow_id")
    public String workflowId;

    /** レビジョン */
    @Id
    @Column(name="revision")
    public String revision;

    /** ステータス */
    @Column(name="status")
    public Integer status;

    /** ワークフロー名 */
    @Column(name="workflow_name")
    public String workflowName;

    /** ワークフロー表示順 */
    @Column(name="seq")
    public long seq;

    /** submitボタン押下日時 */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="submitted_at")
    public Timestamp submittedAt;

    /** submit結果返却日時 */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="result_received_at")
    public Timestamp resultReceivedAt;

    /** 作成日時 */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="created_at")
    public Timestamp createdAt;

    /** 作成者 */
    @Column(name="created_by")
    public String createdBy;

    /** 更新日時 */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="updated_at")
    public Timestamp updatedAt;

    /** 更新者 */
    @Column(name="updated_by")
    public String updatedBy;

    /** 削除フラグ（0:未削除 1:削除）*/
    @Column(name="delete_flag")
    public String deleteFlag;
}